#ifndef _L_MATH_111225_H
#define _L_MATH_111225_H

#include <math.h>

#include <ltypes.h>
#include <lmacros.h>

LLIB_BEGIN;
namespace math {

// e
const static Double E           = 2.71828182845904523536;
// log2(e)
const static Double LOG2E       = 1.44269504088896340736;
// log10(e)
const static Double LOG10E      = 0.434294481903251827651;
// ln(2)
const static Double LN2         = 0.693147180559945309417;
// ln(10)
const static Double LN10        = 2.30258509299404568402;
// pi
const static Double PI          = 3.14159265358979323846;
// pi / 2
const static Double PI_2        = 1.57079632679489661923;
// pi / 4
const static Double PI_4        = 0.785398163397448309616;
// 1 / pi
const static Double _1_PI       = 0.318309886183790671538;
// 2 / pi
const static Double _2_PI       = 0.636619772367581343076;
// 2 / sqrt(pi)
const static Double _2_SQRTPI   = 1.12837916709551257390;
// sqrt(2)
const static Double SQRT2       = 1.41421356237309504880;
// sqrt(3)
const static Double SQRT3       = 1.73205080756887729352;
// 1 / sqrt(2)
const static Double SQRT1_2     = 0.707106781186547524401;


// float epsilon
const static Float	EPS_F           = 1E-5f;
const static Float  Float_Epsilon   = EPS_F;
// double epsilon
const static Double EPS_D           = 1E-11;
const static Double Double_Epsilon  = EPS_D;

}
LLIB_END;

#endif